With rapid development of Internet technology and cloud computing technology, a business may rapidly employ virtual machines for providing various application services, such as web file transmission, video on demand and live streaming, by using a cloud environment as cloud computing services have advantages of high reliability, low construction cost and preferable expandability, so to solve problems with respect to poor utilization and equipment maintenance cost caused by self-constructed system equipment in the related art. Although the cloud computing services bring benefits; however, for the business, to effectively adjust a service scale of a cloud system according to the user number to maintain preferable service quality is an important issue.
Taking the live streaming application service for example, after a video publishing end uploads a live stream to a streaming origin server designated by a video service system, the streaming origin server spreads streaming data to streaming edge servers for users to connect for live playback. Such structure is a typical and widely used origin-edge structure. In this structure, the video service system configures a load balancer to receive a view request for a live stream and deliver the stream data on separated connections, which refers that a user, when desiring to view a specific video channel, has to first connect to the load balancer and then, decides which streaming edge server the user connection is redirected to, thereby, obtaining live streaming data of the video channel. Each video channel may generate a plurality of live streams corresponding to a variety of resolutions. Additionally, different video channels have different numbers of online viewers varying with popularities and playback times of their video contents. If the streaming edge servers configured for serving the user by the video streaming system are insufficient, connection congestion may easily occur in a condition that the viewers are in a large number, which results in declined service quality experienced by the user due to unsmoothness of the video playback and increase of delay time. On the contrary, if the streaming edge servers are configured in a large number, in the case of a low number of viewer, would leads to the waste in cloud resources and increase in host rental costs.
Many load balancing methods of network traffic are provided and applied at present, for example, a random load balancing method, round robin (RR) load balancing method, a weighted round robin (WRR) load balancing method, a weighted fair queuing (WFQ) load balancing method, a least connection load balancing method, a weighted least connection load balancing method, a server load estimation load balancing method and so on. In various video application scenarios with multiple video streams and dynamic viewer numbers, how to apply an adaptive load balancing method with the use of dynamic server scaling/reduction mechanisms to achieve effectively spreading video data and saving the host rental cost becomes a challenge.